<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.13"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>SSD1306 OLED display driver: I2C/SPI: physical interface functions</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectalign" style="padding-left: 0.5em;">
   <div id="projectname">SSD1306 OLED display driver
   &#160;<span id="projectnumber">1.8.2</span>
   </div>
   <div id="projectbrief">This library is developed to control SSD1306/SSD1331/SSD1351/IL9163/PCD8554 RGB i2c/spi LED displays</div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.13 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
$(function() {
  initMenu('',true,false,'search.php','Search');
  $(document).ready(function() { init_search(); });
});
</script>
<div id="main-nav"></div>
</div><!-- top -->
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div class="header">
  <div class="summary">
<a href="#nested-classes">Classes</a> &#124;
<a href="#define-members">Macros</a> &#124;
<a href="#func-members">Functions</a> &#124;
<a href="#var-members">Variables</a>  </div>
  <div class="headertitle">
<div class="title">I2C/SPI: physical interface functions</div>  </div>
</div><!--header-->
<div class="contents">

<p>i2c/spi initialization functions for different platforms  
<a href="#details">More...</a></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
Classes</h2></td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structssd1306__interface__t.html">ssd1306_interface_t</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="define-members"></a>
Macros</h2></td></tr>
<tr class="memitem:ga05d1c9f1ad427b445574bddab25583ab"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___l_c_d___h_w___i_n_t_e_r_f_a_c_e___a_p_i.html#ga05d1c9f1ad427b445574bddab25583ab">SSD1306_SA</a>&#160;&#160;&#160;0x3C</td></tr>
<tr class="separator:ga05d1c9f1ad427b445574bddab25583ab"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaeff66a04d6a58f031dbc7d8aa4e671a7"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___l_c_d___h_w___i_n_t_e_r_f_a_c_e___a_p_i.html#gaeff66a04d6a58f031dbc7d8aa4e671a7">ssd1306_dcQuickSwitch</a>&#160;&#160;&#160;ssd1306_intf.spi</td></tr>
<tr class="separator:gaeff66a04d6a58f031dbc7d8aa4e671a7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga5079a258f12fe4797c7b78dc59196d59"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___l_c_d___h_w___i_n_t_e_r_f_a_c_e___a_p_i.html#ga5079a258f12fe4797c7b78dc59196d59">ssd1306_startTransmission</a>&#160;&#160;&#160;ssd1306_intf.start</td></tr>
<tr class="separator:ga5079a258f12fe4797c7b78dc59196d59"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga450686fc271e943d9e22b1cfcd06e978"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___l_c_d___h_w___i_n_t_e_r_f_a_c_e___a_p_i.html#ga450686fc271e943d9e22b1cfcd06e978">ssd1306_endTransmission</a>&#160;&#160;&#160;ssd1306_intf.stop</td></tr>
<tr class="separator:ga450686fc271e943d9e22b1cfcd06e978"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga6fc5fa1be51bd985560f29b5eb1d7d74"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___l_c_d___h_w___i_n_t_e_r_f_a_c_e___a_p_i.html#ga6fc5fa1be51bd985560f29b5eb1d7d74">ssd1306_sendByte</a>&#160;&#160;&#160;ssd1306_intf.send</td></tr>
<tr class="separator:ga6fc5fa1be51bd985560f29b5eb1d7d74"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaf7d0c203fdf6410ad5224d5c5f606352"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___l_c_d___h_w___i_n_t_e_r_f_a_c_e___a_p_i.html#gaf7d0c203fdf6410ad5224d5c5f606352">ssd1306_sendBytes</a>&#160;&#160;&#160;ssd1306_intf.send_buffer</td></tr>
<tr class="separator:gaf7d0c203fdf6410ad5224d5c5f606352"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaabf245b331f551cc03ab63386aa0c2ea"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___l_c_d___h_w___i_n_t_e_r_f_a_c_e___a_p_i.html#gaabf245b331f551cc03ab63386aa0c2ea">ssd1306_closeInterface</a>&#160;&#160;&#160;ssd1306_intf.close</td></tr>
<tr class="separator:gaabf245b331f551cc03ab63386aa0c2ea"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:gaa13b9975cc9b1d9a802db4edf22baa7b"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___l_c_d___h_w___i_n_t_e_r_f_a_c_e___a_p_i.html#gaa13b9975cc9b1d9a802db4edf22baa7b">ssd1306_i2cInit</a> (void)</td></tr>
<tr class="separator:gaa13b9975cc9b1d9a802db4edf22baa7b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gadad8452b053aef2c84c6a14c7f4f247d"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___l_c_d___h_w___i_n_t_e_r_f_a_c_e___a_p_i.html#gadad8452b053aef2c84c6a14c7f4f247d">ssd1306_i2cInitEx</a> (int8_t scl, int8_t sda, int8_t sa)</td></tr>
<tr class="separator:gadad8452b053aef2c84c6a14c7f4f247d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaa20f0b4b8d87d4663fae2246b47ec699"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___l_c_d___h_w___i_n_t_e_r_f_a_c_e___a_p_i.html#gaa20f0b4b8d87d4663fae2246b47ec699">ssd1306_i2cInit_Embedded</a> (int8_t scl, int8_t sda, uint8_t sa)</td></tr>
<tr class="separator:gaa20f0b4b8d87d4663fae2246b47ec699"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaa741bfcb2dac09d4d0e7d2a0ed14372c"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___l_c_d___h_w___i_n_t_e_r_f_a_c_e___a_p_i.html#gaa741bfcb2dac09d4d0e7d2a0ed14372c">ssd1306_i2cConfigure_Twi</a> (uint8_t arg)</td></tr>
<tr class="separator:gaa741bfcb2dac09d4d0e7d2a0ed14372c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga14a55fcba9938619dae1628494ac4497"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___l_c_d___h_w___i_n_t_e_r_f_a_c_e___a_p_i.html#ga14a55fcba9938619dae1628494ac4497">ssd1306_i2cInit_Twi</a> (uint8_t sa)</td></tr>
<tr class="separator:ga14a55fcba9938619dae1628494ac4497"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga0e21371367897c0f86480cfccc100b5c"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___l_c_d___h_w___i_n_t_e_r_f_a_c_e___a_p_i.html#ga0e21371367897c0f86480cfccc100b5c">ssd1306_spiInit</a> (int8_t cesPin, int8_t dcPin)</td></tr>
<tr class="separator:ga0e21371367897c0f86480cfccc100b5c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaa6e3e3fd6e5bc89180176c40f9455ea2"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___l_c_d___h_w___i_n_t_e_r_f_a_c_e___a_p_i.html#gaa6e3e3fd6e5bc89180176c40f9455ea2">ssd1306_spiDataMode</a> (uint8_t mode)</td></tr>
<tr class="separator:gaa6e3e3fd6e5bc89180176c40f9455ea2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gacddab5cfa0ccfd82ac37bb897a26953d"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___l_c_d___h_w___i_n_t_e_r_f_a_c_e___a_p_i.html#gacddab5cfa0ccfd82ac37bb897a26953d">ssd1306_spiInit_avr</a> (int8_t cesPin, int8_t dcPin)</td></tr>
<tr class="separator:gacddab5cfa0ccfd82ac37bb897a26953d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gafca371e5a797bd7a1639ed0b06846a8d"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___l_c_d___h_w___i_n_t_e_r_f_a_c_e___a_p_i.html#gafca371e5a797bd7a1639ed0b06846a8d">ssd1306_spiInit_Usi</a> (int8_t cesPin, int8_t dcPin)</td></tr>
<tr class="separator:gafca371e5a797bd7a1639ed0b06846a8d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaf63dd3db50389223a46d7c4eb716ef83"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___l_c_d___h_w___i_n_t_e_r_f_a_c_e___a_p_i.html#gaf63dd3db50389223a46d7c4eb716ef83">ssd1306_sendCommand</a> (uint8_t command)</td></tr>
<tr class="separator:gaf63dd3db50389223a46d7c4eb716ef83"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga6496dfa0de1c422f00889c1341c522a6"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___l_c_d___h_w___i_n_t_e_r_f_a_c_e___a_p_i.html#ga6496dfa0de1c422f00889c1341c522a6">ssd1306_commandStart</a> (void)</td></tr>
<tr class="separator:ga6496dfa0de1c422f00889c1341c522a6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga3df07368356ac5f5af1acc77055a4aa2"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___l_c_d___h_w___i_n_t_e_r_f_a_c_e___a_p_i.html#ga3df07368356ac5f5af1acc77055a4aa2">ssd1306_dataStart</a> (void)</td></tr>
<tr class="separator:ga3df07368356ac5f5af1acc77055a4aa2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gab8f6528f3aa977d02549bfd7c4009282"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___l_c_d___h_w___i_n_t_e_r_f_a_c_e___a_p_i.html#gab8f6528f3aa977d02549bfd7c4009282">ssd1306_uartInit_Builtin</a> (uint32_t baud)</td></tr>
<tr class="separator:gab8f6528f3aa977d02549bfd7c4009282"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="var-members"></a>
Variables</h2></td></tr>
<tr class="memitem:gafc2040aa9a00f51d7a3302009c32be6a"><td class="memItemLeft" align="right" valign="top">int8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___l_c_d___h_w___i_n_t_e_r_f_a_c_e___a_p_i.html#gafc2040aa9a00f51d7a3302009c32be6a">s_ssd1306_cs</a></td></tr>
<tr class="separator:gafc2040aa9a00f51d7a3302009c32be6a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaa6c559e035be91c9c57a53120c55e023"><td class="memItemLeft" align="right" valign="top">int8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___l_c_d___h_w___i_n_t_e_r_f_a_c_e___a_p_i.html#gaa6c559e035be91c9c57a53120c55e023">s_ssd1306_dc</a></td></tr>
<tr class="separator:gaa6c559e035be91c9c57a53120c55e023"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gacd2a35f136452e061c82fe446a80701c"><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___l_c_d___h_w___i_n_t_e_r_f_a_c_e___a_p_i.html#gacd2a35f136452e061c82fe446a80701c">s_ssd1306_spi_clock</a></td></tr>
<tr class="separator:gacd2a35f136452e061c82fe446a80701c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga15909bf29819391d35ecb7f4e37fbea3"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structssd1306__interface__t.html">ssd1306_interface_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___l_c_d___h_w___i_n_t_e_r_f_a_c_e___a_p_i.html#ga15909bf29819391d35ecb7f4e37fbea3">ssd1306_intf</a></td></tr>
<tr class="separator:ga15909bf29819391d35ecb7f4e37fbea3"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<p>i2c/spi initialization functions for different platforms </p>
<p>This group of API functions serves to prepare the library to work via specific hardware interface. There are a bunch of functions for different platforms. In general display initialization goes in two steps: hardware interface initialization, and then display driver initialization. But there are functions, which combine 2 steps in single call: <a class="el" href="group___l_c_d___i_n_t_e_r_f_a_c_e___a_p_i.html#gae821e21898f6a7187654251c40b138ce" title="Inits 128x64 OLED display over i2c (based on SSD1306 controller). ">ssd1306_128x64_i2c_initEx()</a>, <a class="el" href="group___l_c_d___i_n_t_e_r_f_a_c_e___a_p_i.html#gad45d6f302e177807b6f4d381776a8e55" title="Inits 128x128 RGB OLED display over spi (based on SSD1351 controller). ">ssd1351_128x128_spi_init()</a>, etc. </p>
<h2 class="groupheader">Macro Definition Documentation</h2>
<a id="gaabf245b331f551cc03ab63386aa0c2ea"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gaabf245b331f551cc03ab63386aa0c2ea">&#9670;&nbsp;</a></span>ssd1306_closeInterface</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define ssd1306_closeInterface&#160;&#160;&#160;ssd1306_intf.close</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Deprecated </p>

<p class="definition">Definition at line <a class="el" href="ssd1306__interface_8h_source.html#l00124">124</a> of file <a class="el" href="ssd1306__interface_8h_source.html">ssd1306_interface.h</a>.</p>

</div>
</div>
<a id="gaeff66a04d6a58f031dbc7d8aa4e671a7"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gaeff66a04d6a58f031dbc7d8aa4e671a7">&#9670;&nbsp;</a></span>ssd1306_dcQuickSwitch</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define ssd1306_dcQuickSwitch&#160;&#160;&#160;ssd1306_intf.spi</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Deprecated </p>

<p class="definition">Definition at line <a class="el" href="ssd1306__interface_8h_source.html#l00099">99</a> of file <a class="el" href="ssd1306__interface_8h_source.html">ssd1306_interface.h</a>.</p>

</div>
</div>
<a id="ga450686fc271e943d9e22b1cfcd06e978"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga450686fc271e943d9e22b1cfcd06e978">&#9670;&nbsp;</a></span>ssd1306_endTransmission</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define ssd1306_endTransmission&#160;&#160;&#160;ssd1306_intf.stop</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Deprecated </p>

<p class="definition">Definition at line <a class="el" href="ssd1306__interface_8h_source.html#l00109">109</a> of file <a class="el" href="ssd1306__interface_8h_source.html">ssd1306_interface.h</a>.</p>

</div>
</div>
<a id="ga05d1c9f1ad427b445574bddab25583ab"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga05d1c9f1ad427b445574bddab25583ab">&#9670;&nbsp;</a></span>SSD1306_SA</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define SSD1306_SA&#160;&#160;&#160;0x3C</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>SSD1306_SA defines default i2c address of LCD display. Please, check your device. If you LCD device has different address, you can set different one via ssd1306_i2cInit_Wire() or <a class="el" href="group___l_c_d___h_w___i_n_t_e_r_f_a_c_e___a_p_i.html#gaa20f0b4b8d87d4663fae2246b47ec699">ssd1306_i2cInit_Embedded()</a> functions. Write command will be SSD1306_SA&lt;&lt;1 and read will be SSD1306_SA&lt;&lt;1 | 1 </p>

<p class="definition">Definition at line <a class="el" href="ssd1306__i2c__conf_8h_source.html#l00047">47</a> of file <a class="el" href="ssd1306__i2c__conf_8h_source.html">ssd1306_i2c_conf.h</a>.</p>

</div>
</div>
<a id="ga6fc5fa1be51bd985560f29b5eb1d7d74"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga6fc5fa1be51bd985560f29b5eb1d7d74">&#9670;&nbsp;</a></span>ssd1306_sendByte</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define ssd1306_sendByte&#160;&#160;&#160;ssd1306_intf.send</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Deprecated </p>

<p class="definition">Definition at line <a class="el" href="ssd1306__interface_8h_source.html#l00114">114</a> of file <a class="el" href="ssd1306__interface_8h_source.html">ssd1306_interface.h</a>.</p>

</div>
</div>
<a id="gaf7d0c203fdf6410ad5224d5c5f606352"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gaf7d0c203fdf6410ad5224d5c5f606352">&#9670;&nbsp;</a></span>ssd1306_sendBytes</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define ssd1306_sendBytes&#160;&#160;&#160;ssd1306_intf.send_buffer</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Deprecated </p>

<p class="definition">Definition at line <a class="el" href="ssd1306__interface_8h_source.html#l00119">119</a> of file <a class="el" href="ssd1306__interface_8h_source.html">ssd1306_interface.h</a>.</p>

</div>
</div>
<a id="ga5079a258f12fe4797c7b78dc59196d59"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga5079a258f12fe4797c7b78dc59196d59">&#9670;&nbsp;</a></span>ssd1306_startTransmission</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define ssd1306_startTransmission&#160;&#160;&#160;ssd1306_intf.start</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Deprecated </p>

<p class="definition">Definition at line <a class="el" href="ssd1306__interface_8h_source.html#l00104">104</a> of file <a class="el" href="ssd1306__interface_8h_source.html">ssd1306_interface.h</a>.</p>

</div>
</div>
<h2 class="groupheader">Function Documentation</h2>
<a id="ga6496dfa0de1c422f00889c1341c522a6"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga6496dfa0de1c422f00889c1341c522a6">&#9670;&nbsp;</a></span>ssd1306_commandStart()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ssd1306_commandStart </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Starts transaction for sending commands. </p>

<p class="definition">Definition at line <a class="el" href="ssd1306__interface_8c_source.html#l00036">36</a> of file <a class="el" href="ssd1306__interface_8c_source.html">ssd1306_interface.c</a>.</p>

</div>
</div>
<a id="ga3df07368356ac5f5af1acc77055a4aa2"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga3df07368356ac5f5af1acc77055a4aa2">&#9670;&nbsp;</a></span>ssd1306_dataStart()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ssd1306_dataStart </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Starts transaction for sending bitmap data. </p>

<p class="definition">Definition at line <a class="el" href="ssd1306__interface_8c_source.html#l00045">45</a> of file <a class="el" href="ssd1306__interface_8c_source.html">ssd1306_interface.c</a>.</p>

</div>
</div>
<a id="gaa741bfcb2dac09d4d0e7d2a0ed14372c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gaa741bfcb2dac09d4d0e7d2a0ed14372c">&#9670;&nbsp;</a></span>ssd1306_i2cConfigure_Twi()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ssd1306_i2cConfigure_Twi </td>
          <td>(</td>
          <td class="paramtype">uint8_t&#160;</td>
          <td class="paramname"><em>arg</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Configures standard TWI AVR module (at 400kHz). This function is called by <a class="el" href="group___l_c_d___h_w___i_n_t_e_r_f_a_c_e___a_p_i.html#gaa13b9975cc9b1d9a802db4edf22baa7b">ssd1306_i2cInit()</a>. </p><dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">arg</td><td>- has no meaning for now. Should be zero</td></tr>
  </table>
  </dd>
</dl>
<dl class="section note"><dt>Note</dt><dd>scl and sda pins depend on used hardware. </dd></dl>

<p class="definition">Definition at line <a class="el" href="ssd1306__i2c__twi_8c_source.html#l00111">111</a> of file <a class="el" href="ssd1306__i2c__twi_8c_source.html">ssd1306_i2c_twi.c</a>.</p>

</div>
</div>
<a id="gaa13b9975cc9b1d9a802db4edf22baa7b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gaa13b9975cc9b1d9a802db4edf22baa7b">&#9670;&nbsp;</a></span>ssd1306_i2cInit()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ssd1306_i2cInit </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Inits display interface to use i2c bus. The function automatically selects available type of i2c implementation</p><ol type="1">
<li>Wire library</li>
<li>sw i2c implementation In case of using Wire library this function calls Wire.begin() and sets speed to fast i2c (400kHz). If you prefer to use your own Wire settings or avoid reinitializing of Wire library, please use ssd1306_i2cInit_Wire(). If you want to use embedded i2c (if it is supported), use <a class="el" href="group___l_c_d___h_w___i_n_t_e_r_f_a_c_e___a_p_i.html#gaa20f0b4b8d87d4663fae2246b47ec699">ssd1306_i2cInit_Embedded()</a>.</li>
</ol>
<dl class="section note"><dt>Note</dt><dd>: after call to this function you need to initialize lcd display. </dd></dl>

<p class="definition">Definition at line <a class="el" href="ssd1306__i2c_8c_source.html#l00045">45</a> of file <a class="el" href="ssd1306__i2c_8c_source.html">ssd1306_i2c.c</a>.</p>

</div>
</div>
<a id="gaa20f0b4b8d87d4663fae2246b47ec699"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gaa20f0b4b8d87d4663fae2246b47ec699">&#9670;&nbsp;</a></span>ssd1306_i2cInit_Embedded()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ssd1306_i2cInit_Embedded </td>
          <td>(</td>
          <td class="paramtype">int8_t&#160;</td>
          <td class="paramname"><em>scl</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int8_t&#160;</td>
          <td class="paramname"><em>sda</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint8_t&#160;</td>
          <td class="paramname"><em>sa</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Initializes software implementation of i2c. If you do not know i2c parameters, try ssd1306_i2cInit_Embedded(0,0,0). </p><dl class="section warning"><dt>Warning</dt><dd>the function disables interrupts. </dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">scl</td><td>- i2c clock pin. Use -1 if you don't need to change default pin number </td></tr>
    <tr><td class="paramname">sda</td><td>- i2c data pin. Use -1 if you don't need to change default pin number </td></tr>
    <tr><td class="paramname">sa</td><td>- i2c address of lcd display. Use 0 to leave default</td></tr>
  </table>
  </dd>
</dl>
<dl class="section note"><dt>Note</dt><dd>: after call to this function you need to initialize lcd display. </dd></dl>

<p class="definition">Definition at line <a class="el" href="ssd1306__i2c__embedded_8c_source.html#l00178">178</a> of file <a class="el" href="ssd1306__i2c__embedded_8c_source.html">ssd1306_i2c_embedded.c</a>.</p>

</div>
</div>
<a id="ga14a55fcba9938619dae1628494ac4497"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga14a55fcba9938619dae1628494ac4497">&#9670;&nbsp;</a></span>ssd1306_i2cInit_Twi()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ssd1306_i2cInit_Twi </td>
          <td>(</td>
          <td class="paramtype">uint8_t&#160;</td>
          <td class="paramname"><em>sa</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Initializes ssd1306 library to use TWI AVR module for i2c. If you do not know i2c parameters, try ssd1306_i2cInit_Twi(0). SCL and SDA pins depend on platform. </p><dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">sa</td><td>- i2c address of lcd display. Use 0 to leave default</td></tr>
  </table>
  </dd>
</dl>
<dl class="section note"><dt>Note</dt><dd>: after call to this function you need to initialize lcd display. </dd></dl>

<p class="definition">Definition at line <a class="el" href="ssd1306__i2c__twi_8c_source.html#l00160">160</a> of file <a class="el" href="ssd1306__i2c__twi_8c_source.html">ssd1306_i2c_twi.c</a>.</p>

</div>
</div>
<a id="gadad8452b053aef2c84c6a14c7f4f247d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gadad8452b053aef2c84c6a14c7f4f247d">&#9670;&nbsp;</a></span>ssd1306_i2cInitEx()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ssd1306_i2cInitEx </td>
          <td>(</td>
          <td class="paramtype">int8_t&#160;</td>
          <td class="paramname"><em>scl</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int8_t&#160;</td>
          <td class="paramname"><em>sda</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int8_t&#160;</td>
          <td class="paramname"><em>sa</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Inits display interface to use i2c bus. The function automatically selects available type of i2c implementation</p><ol type="1">
<li>Wire library</li>
<li>sw i2c implementation In case of using Wire library this function calls Wire.begin() and sets speed to fast i2c (400kHz). If you prefer to use your own Wire settings or avoid reinitializing of Wire library, please use ssd1306_i2cInit_Wire(). If you want to use embedded i2c (if it is supported), use <a class="el" href="group___l_c_d___h_w___i_n_t_e_r_f_a_c_e___a_p_i.html#gaa20f0b4b8d87d4663fae2246b47ec699">ssd1306_i2cInit_Embedded()</a>.</li>
</ol>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">scl</td><td>- i2c clock pin. Use -1 if you don't need to change default pin number </td></tr>
    <tr><td class="paramname">sda</td><td>- i2c data pin. Use -1 if you don't need to change default pin number </td></tr>
    <tr><td class="paramname">sa</td><td>- i2c address of lcd display. Use 0 to leave default</td></tr>
  </table>
  </dd>
</dl>
<dl class="section note"><dt>Note</dt><dd>scl and sda parameters depend on used hardware. For many hardware boards these parameters do not have any effect. ESP8266 allows to specify these parameters</dd>
<dd>
scl and sda for Linux systems should be the same, and should contain i2c bus id.</dd>
<dd>
: after call to this function you need to initialize lcd display. </dd></dl>

<p class="definition">Definition at line <a class="el" href="ssd1306__i2c_8c_source.html#l00028">28</a> of file <a class="el" href="ssd1306__i2c_8c_source.html">ssd1306_i2c.c</a>.</p>

</div>
</div>
<a id="gaf63dd3db50389223a46d7c4eb716ef83"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gaf63dd3db50389223a46d7c4eb716ef83">&#9670;&nbsp;</a></span>ssd1306_sendCommand()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ssd1306_sendCommand </td>
          <td>(</td>
          <td class="paramtype">uint8_t&#160;</td>
          <td class="paramname"><em>command</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Sends command to SSD1306 device: includes initiating of transaction, sending data and completing transaction. </p><dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">command</td><td>- command to send </td></tr>
  </table>
  </dd>
</dl>

<p class="definition">Definition at line <a class="el" href="ssd1306__interface_8c_source.html#l00054">54</a> of file <a class="el" href="ssd1306__interface_8c_source.html">ssd1306_interface.c</a>.</p>

</div>
</div>
<a id="gaa6e3e3fd6e5bc89180176c40f9455ea2"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gaa6e3e3fd6e5bc89180176c40f9455ea2">&#9670;&nbsp;</a></span>ssd1306_spiDataMode()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ssd1306_spiDataMode </td>
          <td>(</td>
          <td class="paramtype">uint8_t&#160;</td>
          <td class="paramname"><em>mode</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Switches spi to data(1) or command(0) mode. </p><dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">mode</td><td>- 1 data mode 0 command mode </td></tr>
  </table>
  </dd>
</dl>

<p class="definition">Definition at line <a class="el" href="ssd1306__spi_8c_source.html#l00050">50</a> of file <a class="el" href="ssd1306__spi_8c_source.html">ssd1306_spi.c</a>.</p>

</div>
</div>
<a id="ga0e21371367897c0f86480cfccc100b5c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga0e21371367897c0f86480cfccc100b5c">&#9670;&nbsp;</a></span>ssd1306_spiInit()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ssd1306_spiInit </td>
          <td>(</td>
          <td class="paramtype">int8_t&#160;</td>
          <td class="paramname"><em>cesPin</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int8_t&#160;</td>
          <td class="paramname"><em>dcPin</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Inits lcd interface to use hardware spi for communication. The function automatically selects available type of spi implementation</p><ol type="1">
<li>SPI library (ssd1306_spiInit_hw()) <dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">cesPin</td><td>- pin, controlling chip enable of LCD </td></tr>
    <tr><td class="paramname">dcPin</td><td>- pin, controlling data/command mode of LCD</td></tr>
  </table>
  </dd>
</dl>
<dl class="section note"><dt>Note</dt><dd>: after call to this function you need to initialize lcd display. </dd></dl>
</li>
</ol>

<p class="definition">Definition at line <a class="el" href="ssd1306__spi_8c_source.html#l00037">37</a> of file <a class="el" href="ssd1306__spi_8c_source.html">ssd1306_spi.c</a>.</p>

</div>
</div>
<a id="gacddab5cfa0ccfd82ac37bb897a26953d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gacddab5cfa0ccfd82ac37bb897a26953d">&#9670;&nbsp;</a></span>ssd1306_spiInit_avr()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ssd1306_spiInit_avr </td>
          <td>(</td>
          <td class="paramtype">int8_t&#160;</td>
          <td class="paramname"><em>cesPin</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int8_t&#160;</td>
          <td class="paramname"><em>dcPin</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Inits lcd interface to use hardware SPI for communication (SPI.h library). It uses standard MOSI, SCLK pins to send data to LCD. </p><dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">cesPin</td><td>- pin, controlling chip enable of LCD </td></tr>
    <tr><td class="paramname">dcPin</td><td>- pin, controlling data/command mode of LCD</td></tr>
  </table>
  </dd>
</dl>
<dl class="section note"><dt>Note</dt><dd>: after call to this function you need to initialize lcd display. </dd></dl>

<p class="definition">Definition at line <a class="el" href="ssd1306__spi__avr_8c_source.html#l00133">133</a> of file <a class="el" href="ssd1306__spi__avr_8c_source.html">ssd1306_spi_avr.c</a>.</p>

</div>
</div>
<a id="gafca371e5a797bd7a1639ed0b06846a8d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gafca371e5a797bd7a1639ed0b06846a8d">&#9670;&nbsp;</a></span>ssd1306_spiInit_Usi()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ssd1306_spiInit_Usi </td>
          <td>(</td>
          <td class="paramtype">int8_t&#160;</td>
          <td class="paramname"><em>cesPin</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int8_t&#160;</td>
          <td class="paramname"><em>dcPin</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Inits lcd interface to use USI for SPI communication. It uses standard USI CLK, USI DO, USI DI pins to send data to LCD. </p><dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">cesPin</td><td>- pin, controlling chip enable of LCD </td></tr>
    <tr><td class="paramname">dcPin</td><td>- pin, controlling data/command mode of LCD</td></tr>
  </table>
  </dd>
</dl>
<dl class="section note"><dt>Note</dt><dd>: after call to this function you need to initialize lcd display. </dd></dl>

<p class="definition">Definition at line <a class="el" href="ssd1306__spi__usi_8c_source.html#l00111">111</a> of file <a class="el" href="ssd1306__spi__usi_8c_source.html">ssd1306_spi_usi.c</a>.</p>

</div>
</div>
<a id="gab8f6528f3aa977d02549bfd7c4009282"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gab8f6528f3aa977d02549bfd7c4009282">&#9670;&nbsp;</a></span>ssd1306_uartInit_Builtin()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ssd1306_uartInit_Builtin </td>
          <td>(</td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>baud</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Initializes built-in implementation of uart functions, based on USART hw module. If you do not know uart parameters, try ssd1306_uartInit_Builtin(0). </p><dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">baud</td><td>uart baud rate</td></tr>
  </table>
  </dd>
</dl>
<dl class="section note"><dt>Note</dt><dd>: after call to this function you need to initialize lcd display. </dd></dl>

<p class="definition">Definition at line <a class="el" href="ssd1306__uart__builtin_8c_source.html#l00063">63</a> of file <a class="el" href="ssd1306__uart__builtin_8c_source.html">ssd1306_uart_builtin.c</a>.</p>

</div>
</div>
<h2 class="groupheader">Variable Documentation</h2>
<a id="gafc2040aa9a00f51d7a3302009c32be6a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gafc2040aa9a00f51d7a3302009c32be6a">&#9670;&nbsp;</a></span>s_ssd1306_cs</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int8_t s_ssd1306_cs</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>chip enable pin to controll lcd display over spi </p>

<p class="definition">Definition at line <a class="el" href="ssd1306__spi_8c_source.html#l00033">33</a> of file <a class="el" href="ssd1306__spi_8c_source.html">ssd1306_spi.c</a>.</p>

</div>
</div>
<a id="gaa6c559e035be91c9c57a53120c55e023"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gaa6c559e035be91c9c57a53120c55e023">&#9670;&nbsp;</a></span>s_ssd1306_dc</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int8_t s_ssd1306_dc</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>data/command control pin for spi interface of lcd display </p>

<p class="definition">Definition at line <a class="el" href="ssd1306__spi_8c_source.html#l00034">34</a> of file <a class="el" href="ssd1306__spi_8c_source.html">ssd1306_spi.c</a>.</p>

</div>
</div>
<a id="gacd2a35f136452e061c82fe446a80701c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gacd2a35f136452e061c82fe446a80701c">&#9670;&nbsp;</a></span>s_ssd1306_spi_clock</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">uint32_t s_ssd1306_spi_clock</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>maximum SPI clock, supported by OLED display </p>

<p class="definition">Definition at line <a class="el" href="ssd1306__spi_8c_source.html#l00035">35</a> of file <a class="el" href="ssd1306__spi_8c_source.html">ssd1306_spi.c</a>.</p>

</div>
</div>
<a id="ga15909bf29819391d35ecb7f4e37fbea3"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga15909bf29819391d35ecb7f4e37fbea3">&#9670;&nbsp;</a></span>ssd1306_intf</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="structssd1306__interface__t.html">ssd1306_interface_t</a> ssd1306_intf</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Holds pointers to functions of currently initialized interface. </p>

<p class="definition">Definition at line <a class="el" href="ssd1306__interface_8c_source.html#l00031">31</a> of file <a class="el" href="ssd1306__interface_8c_source.html">ssd1306_interface.c</a>.</p>

</div>
</div>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.13
</small></address>
</body>
</html>
